package com.ai.service;

import com.ai.entity.SysDeptEntity;
import com.ai.web.request.DeptAddReq;
import com.ai.web.response.DeptListResp;
import com.ai.web.response.DeptRespNodeVO;

import java.util.List;

/**
 * 部门管理
 */
public interface DeptService  {

    /**
     * 添加部门
     *
     * @param deptAddReq vo
     */
    void addDept(DeptAddReq deptAddReq);

    /**
     * 更新部门
     *
     * @param vo vo
     */
    void updateDept(SysDeptEntity vo);

    /**
     * 删除部门
     *
     * @param id id
     */
    void deleted(String id);

    /**
     * 部门树形列表
     *
     * @param deptId   deptId
     * @param disabled 最顶级是否可用
     * @return 树形列表
     */
    List<DeptRespNodeVO> deptTreeList(String deptId, Boolean disabled);

    List<SysDeptEntity> list();

    SysDeptEntity getById(String id);

    /**
     * 获取所有的部门列表
     * @return
     */
    List<DeptListResp> getDeptList();
}
